// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue';
import App from './App';
import router from './router';
import store from './store';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-default/index.css';
import 'assets/custom-theme/index.css'; // 换肤版本element-ui css
import NProgress from 'nprogress'; // Progress 进度条
import 'nprogress/nprogress.css';// Progress 进度条 样式
import 'normalize.css/normalize.css';// normalize.css 样式格式化
import 'components/Icon-svg/index'; // 封装的svg组件
import 'assets/iconfont/iconfont'; // iconfont 素材选用 http://iconfont.cn/
import * as filters from './filters'; // 全局vue filter
import Sticky from 'components/Sticky'; // 粘性header组件
import vueWaves from './directive/waves';// 水波纹指令
// import 'wangEditor/css/wangEditor.min.css';

Vue.component('Sticky', Sticky);
Vue.use(ElementUI);
Vue.use(vueWaves);

const {CommonPlugins} = require('./plugins/index')
Vue.use(CommonPlugins)
Vue.config.productionTip = false;
// register global utility filters.
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key])
});

const whiteList = ['/login', '/authredirect'];// 不重定向白名单
router.beforeEach((to, from, next) => {
  NProgress.start(); // 开启Progress
  next();
  
  // console.log(store.getters.userData)
  // if (store.getters.userData) { // 判断是否有 userName
  //   if (to.path === '/login') {
  //     next({ path: '/' });
  //   } else {
  //     next();
  //   }
  // } else {
  //   if (whiteList.indexOf(to.path) !== -1) { // 在免登录白名单，直接进入
  //     next()
  //   } else {
  //     next('/login'); // 否则全部重定向到登录页
  //     NProgress.done(); // 在hash模式下 改变手动改变hash 重定向回来 不会触发afterEach 暂时hack方案 ps：history模式下无问题，可删除该行！
  //   }
  // }
});

router.afterEach(() => {
  NProgress.done(); // 结束Progress
});

top.vueRoot = new Vue({
  el: '#app',
  router,
  store,
  template: '<App/>',
  components: { App }
})
